home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-09-19 | 2.7 KB | 112 lines | [TEXT/CWIE] |
- // LControlEnablingEditField
- // enables and disables the attached LControl when the field is empty
- // ©1995 A.D. Software, all rights reserved
- // freely licensed for any use
- // contact dent@highway1.com.au or http://www.highway1.com.au/adsoftware/
-
- #include "LControlEnablingEditField.h"
-
- #include <LControl.h>
-
- LControlEnablingEditField* LControlEnablingEditField::CreateControlEnablingEditFieldStream(LStream *inStream)
- {
- return (new LControlEnablingEditField(inStream));
- }
-
-
- LControlEnablingEditField::LControlEnablingEditField() :
- mEnablingTarget(NULL), mEnableWhenEmpty(false)
- {}
-
-
- LControlEnablingEditField::LControlEnablingEditField(
- const LControlEnablingEditField &inOriginal) :
- LEditField(inOriginal),
- mEnablingTarget(inOriginal.mEnablingTarget), mEnableWhenEmpty(inOriginal.mEnableWhenEmpty)
- {}
-
-
- LControlEnablingEditField::LControlEnablingEditField(
- const SPaneInfo &inPaneInfo,
- Str255 inString,
- ResIDT inTextTraitsID,
- Int16 inMaxChars,
- Boolean inHasBox,
- Boolean inHasWordWrap,
- KeyFilterFunc inKeyFilter,
- LCommander *inSuper) :
- LEditField(inPaneInfo, inString, inTextTraitsID, inMaxChars, inHasBox, inHasWordWrap, inKeyFilter, inSuper),
- mEnablingTarget(NULL), mEnableWhenEmpty(false)
- {}
-
-
- LControlEnablingEditField::LControlEnablingEditField(
- const SPaneInfo &inPaneInfo,
- Str255 inString,
- ResIDT inTextTraitsID,
- Int16 inMaxChars,
- Uint8 inAttributes,
- KeyFilterFunc inKeyFilter,
- LCommander *inSuper) :
- LEditField(inPaneInfo, inString, inTextTraitsID, inMaxChars, inAttributes, inKeyFilter, inSuper),
- mEnablingTarget(NULL), mEnableWhenEmpty(false)
- {}
-
-
- LControlEnablingEditField::LControlEnablingEditField(
- LStream *inStream) :
- LEditField(inStream),
- mEnablingTarget(NULL), mEnableWhenEmpty(false)
- {}
-
-
-
- void
- LControlEnablingEditField::UserChangedText()
- {
- if (mEnablingTarget) {
- Boolean isEmpty = ((**mTextEditH).teLength == 0);
- if (isEmpty)
- if (mEnableWhenEmpty)
- mEnablingTarget->Enable();
- else
- mEnablingTarget->Disable();
- else
- if (mEnableWhenEmpty)
- mEnablingTarget->Disable();
- else
- mEnablingTarget->Enable();
- }
- }
-
-
- LControl* LControlEnablingEditField::enablesControl()
- {
- return mEnablingTarget;
- }
-
-
- void LControlEnablingEditField::enablesControl(LControl* inCtl)
- {
- mEnablingTarget = inCtl;
- }
-
-
- Boolean LControlEnablingEditField::enablesWhenEmpty()
- {
- return mEnableWhenEmpty;
- }
-
-
- void LControlEnablingEditField::enableWhenEmpty()
- {
- mEnableWhenEmpty = true;
- }
-
-
- void LControlEnablingEditField::disableWhenEmpty()
- {
- mEnableWhenEmpty = false;
- }
-
-